<?php 
class Edital{

	private $id;
	private $numero;
	private $titulo;
	private $descricao;
	private $dataLancamento;
	private $dataEncerramento;
	private $arquivo;
	
	public function __construct($id = 0,$numero="" ,$titulo= "" ,$descricao= "" ,$dataLancamento= "" ,$dataEncerramento = 0,$arquivo= ""){
		$this->id = $id;
		$this->numero = $numero;
		$this->titulo = $titulo;
		$this->descricao = $descricao;
		$this->dataLancamento = $dataLancamento;
		$this->dataEncerramento = $dataEncerramento;
		$this->arquivo = $arquivo;
	}
	
	public static function construct($array){
		return new Edital( $array['id'], $array['numero'], $array['titulo'], $array['descricao'], $array['dataLancamento'], $array['dataEncerramento'], $array['arquivo']);
	}
	
	public function getId(){
		return $this->id;
	}
	
	public function setId($id){
		$this->id=$id;
	}
	
	public function getNumero(){
		return $this->numero;
	}
	
	public function setNumero($numero){
		$this->numero=$numero;
	}
	
	public function getTitulo(){
		return $this->titulo;
	}
	
	public function setTitulo($titulo){
		$this->titulo=$titulo;
	}
	
	public function getDescricao(){
		return $this->descricao;
	}
	
	public function setDescricao($descricao){
		$this->descricao=$descricao;
	}
	
	public function getDataLancamento(){
		return $this->dataLancamento;
	}
	
	public function setDataLancamento($dataLancamento){
		$this->dataLancamento=$dataLancamento;
	}
	
	public function getDataEncerramento(){
		return $this->dataEncerramento;
	}
	
	public function setDataEncerramento($dataEncerramento){
		$this->dataEncerramento=$dataEncerramento;
	}
	
	public function getArquivo(){
		return $this->arquivo;
	}
	
	public function setArquivo($arquivo){
		$this->arquivo=$arquivo;
	}
	
	public function equals($object){
		if($object instanceof Edital){
		
		if($this->id!=$object->id){
			return false;
		}
		
		if($this->numero!=$object->numero){
			return false;
		}
		
		if($this->titulo!=$object->titulo){
			return false;	
		}
		
		if($this->descricao!=$object->descricao){
			return false;
		}
		
		if($this->dataLancamento!=$object->dataLancamento){
			return false;
		}
		
		if($this->dataEncerramento!=$object->dataEncerramento){
			return false;
		}
		
		if($this->arquivo!=$object->arquivo){
			return false;
		}
		return true;
		}
		else{
			return false;
		}
	}
	
	public function toString(){
		return "  [id:" .$this->id. "] [numero:" .$this->numero. "] [titulo:" .$this->titulo. "]  [descricao:" .$this->descricao. "]  [dataLancamento:" .$this->dataLancamento. "]  [dataEncerramento:" .$this->dataEncerramento. "] [arquivo:" .$this->arquivo. "]" ;
	}
	
	public function toArray(){
		$temp =   (array) $this;
		$array = array();
		foreach ($temp as $k => $v){
			$k = preg_match('/^\x00(?:.*?)\x00(.+)/', $k, $matches) ? $matches[1] : $k;
			$array[$k] = $v;
		}
		return  $array;
	}
}
?>